//
//  UIStyleSkinManager.h
//  etionUI
//
//  Created by wu jingxing on 13-2-18.
//  Copyright (c) 2013年 GuangZhouXuanWu. All rights reserved.
//

#import <Foundation/Foundation.h>

#import "XUIRefreshHeaderView.h"

typedef NS_ENUM(NSUInteger,EUIStyleSkinType)
{
    EUIStyleSkinTypeNavigationBar,
    EUIStyleSkinTypeSTsegmented,
    EUIStyleSkinTypeCustomSearchBar,
    EUIStyleSkinTypeCustomTableView,
    EUIStyleSkinTypeRefreshHeaderView,
    EUIStyleSkinTypeEmbeddedViewController,
    EUIStyleSkinTypePanToPrevViewController,
    /**
     *  用在屏幕上方的tab view
     */
    EUIStyleSkinTypeTabView,
    /**
     *  用在屏幕下方的tab bar
     */
    EUIStyleSkinTypeTabBar,
    XUIStyleSkinTypeGroupTableView
};

@interface CUIStyleSkin : NSObject
{
    UIColor *_normalTextColor;
    UIColor *_selectedTextColor;
}

@property(nonatomic, retain) UIColor *normalTextColor;
@property(nonatomic, retain) UIColor *selectedTextColor;

@end

@interface CSTSegmentedStyleSkin : CUIStyleSkin

@end

@interface CNavigationBarStyleSkin : CUIStyleSkin

@property(nonatomic, retain) UIFont *titleFont;
@property(nonatomic, retain) UIColor *titleColor;
@property(nonatomic, retain) UIFont *navBtnFont;
@property(nonatomic, retain) UIColor *navBtnTextColor;
@property(nonatomic, assign) BOOL bShadow;
@property(nonatomic, assign) BOOL bBackgroundTopAttach;
@property(nonatomic, retain) UIImage *backgroundImage;
@property(nonatomic, assign) BOOL blurEffect;

@end

@interface XUISearchBarStyleSkin : CUIStyleSkin

@property(nonatomic, retain) UIImage *searchFieldBorderImage;
@property(nonatomic, assign) UIReturnKeyType searchFieldReturnKeyType;
@property(nonatomic, assign) UITextBorderStyle searchFieldBorderStyle;

@end

@interface CCustomTableViewStyleSkin : CUIStyleSkin

@property(nonatomic, assign) UIEdgeInsets separatorInset;
@property(nonatomic, retain) UIColor *separatorColor;
@property(nonatomic, retain) UIColor *backgroundColor;

@end

@interface CRefreshHeaderViewStyleSkin : CUIStyleSkin

@property(nonatomic, retain) NSString *titlePrefixText;
@property(nonatomic, assign) BOOL hiddenTitle;
@property(nonatomic, assign) BOOL endRefreshingImmediately;
@property(nonatomic, assign) XUIRefreshHeaderViewPresentType presentType;
@property(nonatomic, assign) XUIRefreshingAnimatedType refreshingAnimatedType;
@property(nonatomic, assign) XUIRefreshIndicatorAnimatedType refreshIndicatorAnimatedType;
@property(nonatomic, retain) NSArray *arRefreshingImage;
@property(nonatomic, retain) UIImage *refreshIndicatorImage;
@property(nonatomic, assign) NSTextAlignment stateTextAlignment;
@property(nonatomic, retain) UIFont *stateTextFont;
@property(nonatomic, retain) UIFont *titleTextFont;
@property(nonatomic, retain) UIColor *stateTextColor;
@property(nonatomic, retain) UIColor *titleTextColor;

@end

@interface CEmbeddedViewControllerStyleSkin : CUIStyleSkin

@property(nonatomic, assign) CGFloat centerZoomScale;
@property(nonatomic, assign) CGFloat embedZoomScale;
@property(nonatomic, assign) CGFloat embedShadowAlpha;
@property(nonatomic, assign) NSInteger embeddedViewControllerType;
@property(nonatomic, assign) CGFloat centerMaskColorAlpha;
@property(nonatomic, assign) BOOL centerShadow;
@property(nonatomic, assign) CGFloat leftEmbedreBoundDistance;
@property(nonatomic, assign) CGFloat rightEmbedreBoundDistance;

@end

@interface CPanToPrevViewControllerStyleSkin : CUIStyleSkin

@property(nonatomic, assign) NSInteger moveType;

@end

@interface CTabViewStyleSkin : CUIStyleSkin

@property(nonatomic, retain) UIColor *selectedTitleColor;

@end

@interface CTabBarStyleSkin : CUIStyleSkin

@property(nonatomic, retain) UIColor *selectedTitleColor;

@end

@interface XUIGroupTableViewStyleSkin : CUIStyleSkin

@property(nonatomic, assign) UIEdgeInsets separatorInset;
@property(nonatomic, retain) UIColor *separatorColor;
@property(nonatomic, retain) UIColor *backgroundColor;

@end

@interface CUIStyleSkinManager : NSObject

+ (void)initUIStyleSkin:(EUIStyleSkinType)type complete:(void (^)(CUIStyleSkin *uiss))uiss;

+ (CUIStyleSkin *)UIStyleSkin:(EUIStyleSkinType)type;

@end
